package com.ktgj.customer.service;

import java.util.List;
import com.ktgj.customer.domain.CommonAddresses;
import com.ktgj.customer.domain.vo.CAddressVo;
import com.ktgj.customer.domain.vo.CommonAddressesVo;
import com.ktgj.customer.domain.vo.ProvincialVo;

/**
 * 常用地址Service接口
 * 
 * @author ruoyi
 * @date 2021-09-01
 */
public interface ICommonAddressesService 
{
    /**
     * 查询常用地址
     * 
     * @param commonAddresserId 常用地址ID
     * @return 常用地址
     */
    public CommonAddresses selectCommonAddressesById(Long commonAddresserId);

    /**
     * 查询常用地址列表
     * 
     * @param commonAddresses 常用地址
     * @return 常用地址集合
     */
    public List<CommonAddresses> selectCommonAddressesList(CommonAddresses commonAddresses);

    /**
     * 新增常用地址
     * 
     * @param commonAddresses 常用地址
     * @return 结果
     */
    public int insertCommonAddresses(CommonAddresses commonAddresses);

    /**
     * 修改常用地址
     * 
     * @param commonAddresses 常用地址
     * @return 结果
     */
    public int updateCommonAddresses(CommonAddresses commonAddresses);

    /**
     * 批量删除常用地址
     * 
     * @param commonAddresserIds 需要删除的常用地址ID
     * @return 结果
     */
    public int deleteCommonAddressesByIds(Long[] commonAddresserIds);

    /**
     * 删除常用地址信息(我的-删除常用地址)
     * 
     * @param commonAddresserId 常用地址ID
     * @return 结果
     */
    public int deleteCommonAddressesById(Long commonAddresserId);

    /**
     * 我的-编辑常用地址
     * */
    public int saveCommonAddressesByCustomerId(CommonAddressesVo commonAddressesVo);

    /**
     * 查询地区列表
     * */
    public List<ProvincialVo> areaList();

    /**
     * 我的-修改常用地址
     * */
    public int updateCommonAddressesByCustomerId(CommonAddresses commonAddresses) throws Exception;

    /**
     * 查询待编辑的常用地址
     * */
    public CommonAddresses addressToBeModified(Long commonAddresserId);

    /**
     * 根据会员id查询常用地址列表
     * */
    public List<CAddressVo> addressList(Long memberId);

    /**
     * 后端——查询常用地址
     * */
    public List<CommonAddresses> backSelectCommonAddresses(Long memberId) throws Exception;

    /**
     * 后端——查询待修改的常用地址
     * */
    public CommonAddresses backSelectCommonAddressesById(Long commonAddresserId) throws Exception;

    /**
     * 后端——新增常用地址
     * */
    public int backInsertCommonAddresses(CommonAddresses commonAddresses) throws Exception;

    /**
     * 后端——修改常用地址
     * */
    public int backUpdateCommonAddresses(CommonAddresses commonAddresses) throws Exception;

    /**
     * 后端——删除常用地址
     * */
    public int backDeleteCommonAddresses(Long commonAddresserId) throws Exception;
}
